class Student:
    # 类属性的 类中 方法外的变量
    school = 'xxx小学'

    # 初始化方法
    def __init__(self, xm, age):  # 局部变量
        # 左侧是 实例属性  右侧是 局部变量
        self.name = xm  # 将局部变量的值赋值给实例属性
        self.age = age  # 实例属性和局部变量相同

    # 实例方法
    def show(self):
        print(f'我叫:{self.name},今年:{self.age}岁了')


# 创建2个对象
stu1 = Student('duiduo1', 18)
stu2 = Student('duiduo2', 21)
print(stu1.name, stu1.age)
print(stu2.name, stu2.age)

# 为stu2绑定实例属性
stu2.gender = '男'
print(stu2.name, stu2.age, stu2.gender)


# 动态绑定方法
def introduct():
    print('我是一个普通的函数,我被动态绑定成了stu2对象的方法')


stu2.fun = introduct  # 一定不能带() 带()叫方法调用

stu2.fun()  # 因为方法调用要加括号
